A cloud data warehouse (also referred to as a “network-based data warehouse” or simply as a “data warehouse”) is a network-based system used for data analysis and reporting that comprises a central repository of integrated data from one or more disparate sources. A cloud data warehouse can store current and historical data that can be used for creating analytical reports for an enterprise. To this end, data warehouses typically provide business intelligence tools, tools to extract, transform, and load data into the repository, and tools to manage and retrieve metadata.
In some instances, a user of the network-based data warehouse may wish to make use of functionality that is external to the data warehouse system to analyze or otherwise process data stored by the data warehouse. For example, a user may wish to utilize functionality provided by a third party (e.g., a third-party geocoder) within the context of the network-based data warehouse. As another example, a user may wish to encode or reuse existing business logic (e.g., a complex loss calculation or a machine learning algorithm) within the context of the data warehouse. As yet another example, a user may wish to notify or otherwise trigger external functionality such as a notification system within the context of a data warehouse. As still another example, a user may wish to export data from the cloud warehouse in a way that is driven from within the context of the data warehouse. However, conventional cloud data warehouses do not provide users an ability to call out to a remote software component (e.g., code) that can provide such functionality.